# 数据分析题目解答(建议先赞后看，养成习惯 如果不赞，先拉出去枪毙两分钟 作者：小匠IT)
import pandas as pd
import numpy as np

# 输入数据
data = {
    '日期': ['2021/10/1', '2021/10/2', '2021/10/3', '2021/10/4', '2021/10/5', '2021/10/6', '2021/10/7'],
    '展现量': [26032, 42356, 37427, 37840, 41590, 36879, 43754],
    '点击量': [1120, 1953, 1564, 1261, 1673, 1202, 2403],
    '成交笔数': [36, 76, 51, 39, 66, 37, 99],
    '成交金额': [1765, 2432, 2299, 1879, 3168, 1850, 4236],
    '直通车花费': [928, 1006, 972, 941, 1256, 899, 1595]
}

df = pd.DataFrame(data)

# 计算点击转化率、投入产出比、投入产出比环比增长率
df['点击转化率'] = (df['成交笔数'] / df['点击量']).round(4) * 100
df['投入产出比'] = (df['成交金额'] / df['直通车花费']).round(2)
df['投入产出比环比增长率'] = df['投入产出比'].pct_change().fillna(0).round(4) * 100

# 识别异常值：投入产出比环比增长率下降超过10%
abnormal_days = df[df['投入产出比环比增长率'] < -10]['日期'].tolist()
if abnormal_days:
    print(f"异常的投入产出比数据出现在以下日期：{', '.join(abnormal_days)}")
else:
    print("没有发现异常的投入产出比数据。")

# 计算2021年和2020年国庆节活动期间汇总数据
summary_2021 = df[['展现量', '点击量', '成交笔数', '成交金额', '直通车花费']].sum()
summary_2021['点击率'] = summary_2021['点击量'] / summary_2021['展现量'] * 100
summary_2021['点击转化率'] = summary_2021['成交笔数'] / summary_2021['点击量'] * 100
summary_2021['投入产出比'] = summary_2021['成交金额'] / summary_2021['直通车花费']

summary_2020 = pd.Series({
    '展现量': 209869,
    '点击量': 8965,
    '点击率': 4.27,
    '成交笔数': 296,
    '成交金额': 14236,
    '直通车花费': 6698,
    '点击转化率': 296 / 8965 * 100,
    '投入产出比': 14236 / 6698
})

# 计算同比增长率
growth_rate = ((summary_2021 - summary_2020) / summary_2020 * 100).round(2)
growth_rate['点击率'] = ((summary_2021['点击率'] - summary_2020['点击率']) / summary_2020['点击率'] * 100).round(2)
growth_rate['点击转化率'] = ((summary_2021['点击转化率'] - summary_2020['点击转化率']) / summary_2020['点击转化率'] * 100).round(2)
growth_rate['投入产出比'] = ((summary_2021['投入产出比'] - summary_2020['投入产出比']) / summary_2020['投入产出比'] * 100).round(2)

# 找出同比增长率为负数的数据指标
negative_growth_rates = growth_rate[growth_rate < 0].dropna().index.tolist()
if negative_growth_rates:
    print(f"异常的同比增长率为负数的数据指标是：{', '.join(negative_growth_rates)}")
else:
    print("没有发现异常的同比增长率为负数的数据指标。")

# 分析结论
analysis_conclusion = (
    "从2021年国庆节店铺活动期间直通车推广效果来看，整体表现良好。\n"
    "相较于2020年同期，多数指标都有所增长，特别是在成交金额和点击转化率方面。\n"
    "然而，需要特别关注的是，在某些天内投入产出比出现了较大幅度的下降，这可能是由于市场竞争加剧或其他外部因素导致。\n"
    "建议进一步分析这些天的具体情况，以优化未来的推广策略。\n"
    "具体来说，虽然展现量和点击量都有所增加，但点击率略有下降（-1.56%），可能是因为广告展示位置或内容的变化影响了用户的点击意愿。\n"
    "另一方面，点击转化率提高了9.48%，表明广告质量有所提升，吸引了更多有购买意向的用户。\n"
    "此外，投入产出比也有了显著提升（9.18%），说明每单位投入带来的收益增加了，这是一个积极的信号。\n"
    "综上所述，尽管存在一些波动，2021年的推广活动总体上是成功的，未来应继续保持并优化当前的有效策略。"
)

print(f"分析结论:\n{analysis_conclusion}")